package com.boluo.business.service;

import java.util.List;
import com.boluo.business.domain.BusStatementItem;
import com.boluo.business.dto.BusStatementDTO;

/**
 * 结算单明细Service接口
 * 
 * @author boluo
 * @date 2023-04-14
 */
public interface IBusStatementItemService 
{
    /**
     * 查询结算单明细
     * 
     * @param id 结算单明细主键
     * @return 结算单明细
     */
    public BusStatementItem selectBusStatementItemById(Long id);

    /**
     * 查询结算单明细列表
     * 
     * @param busStatementItem 结算单明细
     * @return 结算单明细集合
     */
    public List<BusStatementItem> selectBusStatementItemList(BusStatementItem busStatementItem);

    /**
     * 新增结算单明细
     * 
     * @param busStatementItem 结算单明细
     * @return 结果
     */
    public int insertBusStatementItem(BusStatementItem busStatementItem);

    /**
     * 修改结算单明细
     * 
     * @param busStatementItem 结算单明细
     * @return 结果
     */
    public int updateBusStatementItem(BusStatementItem busStatementItem);

    /**
     * 批量删除结算单明细
     * 
     * @param ids 需要删除的结算单明细主键集合
     * @return 结果
     */
    public int deleteBusStatementItemByIds(Long[] ids);

    /**
     * 删除结算单明细信息
     * 
     * @param id 结算单明细主键
     * @return 结果
     */
    public int deleteBusStatementItemById(Long id);

    /**
     * 批量 添加 结算单明细 和 修改结算单信息
     * @param busStatementDTO 结算单明细集合 结算单id 优惠价格
     * @return 大于1 成功 0 失败
     */
    int batchAddStatementItem(BusStatementDTO busStatementDTO);

    /**
     * 支付功能
     * @return
     */
    int payStatement(BusStatementDTO busStatementDTO);
}
